/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jpi1208a;

/**
 *
 * @author VANDH
 */
// class khai báo có final thì sẽ không thể được kế thừa bởi class khác
public final class Ellipse extends Circle {

    protected float ry;

    public float getRy() {
        return ry;
    }

    public void setRy(float ry) {
        this.ry = ry;
    }

    public Ellipse() {
    }

    @Override
    public float tinhChuVi() {
        return (float) (2 * Math.PI
                * Math.sqrt((r * r + ry * ry) / 2));
    }

    @Override // -> ghi đè
    public float tinhDienTich() {
        super.tinhChuVi();

        tinhTheTich(3); // -> gọi hàm có 1 tham số
        tinhTheTich(1, 2); // -> gọi hàm có 2 tham số
        return (float) (Math.PI * r * ry);
    }

    public double tinhTheTich(int i, int j) {
        return 1.0;
    }

    @Override
    public void showName() {
        System.out.println("I'm a Ellipse @" + getCopyRight());
    }

    // Overload -> quá tải là nhiều hàm có cùng tên
    // chỉ khác kiểu và số lượng tham số
    public double tinhTheTich(int k) {
        return 2.0;
    }
}
